Autoren: Maximilian Jacob, Nicolas Germann
library(tidyverse)
library(leaflet)
library(readr)
library(leaflet.extras)
library(crosstalk)
library(dygraphs)
data <- read_csv("../data/Japan earthquakes 2001 - 2018.csv")
plants <- read_delim("../data/NuclearPowerStationsJapan.csv",
delim = ";", escape_double = FALSE, trim_ws = TRUE)
Der hier betrachtete Datensatz stammt aus dem USGS (United States Geological Survey) Erdbebenkatalog und stellt eine Sammlung an gemessenen Erdbeben aus dem Zeitraum vom 02-01-2001 bis zum 27-11-2018 dar. Weiterhin wird ein Datensatz, welcher die Positionen und Namen der Atomkraftwerke beinhaltet, mit in die Betrachtung einbezogen. Dieser wurde von den Verfassern dieser Hausarbeit selbst zusammengetragen.
Den Datensatz haben wir von der Website Kaggle. Es existiert leider keine Dokumentation zu dem Datensatz, daher sind uns nicht alle Bedeutungen der Spalten bewusst. Diese Spalten sind jedoch nicht in unsere Betrachtungen eingeflossen. Weiterhin war der Datensatz, zumindest bei den betrachteten Spalten, weitestgehend vollständig. Es mussten also keine Daten aus einer anderen Quelle ergänzt werden.
Wenn es darum geht, die Gebiete in Japan nach ihrer Gefährlichkeit einzuschätzen, bietet sich an, die Häufigkeit und Stärke der auftretenden Erdbeben in den jeweiligen Regionen zu betrachten.
leaflet(options = leafletOptions(zoomControl = FALSE, minZoom = 5, maxZoom = 5, dragging = FALSE)) %>%
addProviderTiles(providers$Esri.NatGeoWorldMap) %>%
setView(lat = 38.30538, lng = 137.42113, zoom = 5) %>%
addHeatmap(
lng = data$longitude, lat = data$latitude, intensity = data$mag,
blur = 5, max = 0.05, radius = 2, cellSize = 1)
Um dieses Schaubild zu erzeugen, wurde eine Karte mit Hilfe der Leaflet Bibliothek erzeugt, der Bereich von Japan festgelegt und mit Hilfe der Leaflet-Funktion “addHeatmap” die Erdbeben in die Karte eingetragen. Dabei konnten die Koordinaten direkt aus dem Datensatz verwendet werden.
Bei der obrigen Darstellung wurden die Erdbeben als Heatmap geographisch eingeordnet. Es zeigt sich, dass sich ein Großteil der Erdbeben über die Ostküste Japans erstreckt. Eine Ausnahme stellt in dieser Darstellung die Westküste dar, da diese deutlich weniger von Erdbeben betroffen ist.
Im Hinblick auf die Katastrophe in Fukushima Daiichi 2011 liegt es nahe, sich die Standorte der Atomkraftwerke in Japan in Zusammenhang mit den Erdbeben anzuschauen.
icons_plant <- awesomeIcons(
icon = 'bolt',
iconColor = 'black',
library = "fa",
markerColor = "pink"
)
leaflet(options = leafletOptions(zoomControl = FALSE, minZoom = 5, maxZoom = 5, dragging = FALSE)) %>%
addProviderTiles(providers$Esri.NatGeoWorldMap) %>%
setView(lat = 38.30538, lng = 137.42113, zoom = 5) %>%
addHeatmap(
lng = data$longitude, lat = data$latitude, intensity = data$mag,
blur = 5, max = 0.05, radius = 2, cellSize = 1) %>%
addAwesomeMarkers(lat = plants$latitude, lng = plants$longitude, popup = plants$`Nuclear Power Station`, icon = icons_plant)
Hier wurde die Karte aus der vorherigen Abbildung um die Standorte der Atomkraftwerke erweitert. Die Marker sind mit Hilfe der “addAwesomeMarker” Funktion von Leaflet hinzugefügt worden. Diese lassen sich auch, wie im Code zu sehen, in ihrem Aussehen anpassen.
Werden der Karte die Standorte der Atomkraftwerke ergänzt, fallen schnell die vier Kraftwerke auf, welche sich inmitten der am stärksten betroffenen Bereiche Japans befinden. Die Vermutung, dass von diesen Kraftwerken tendenziell die höchste Gefahr ausgeht, wird auch dadurch gestärkt, dass sich unter den vier Kraftwerken das Kraftwerk “Fukushima Daiichi” befindet. Dieses Kraftwerk war für das Unglück 2011 verantwortlich. Im folgenden Kapitel wird der Standort dieses Kraftwerks, als auch der 11. März 2011, genauer betachtet.
Als Tsunami bezeichnet man eine Reihe an sehr langen Wellen, welche in der Lage sind, lange Strecken zurückzulegen und dabei große Mengen Wasser mit einer hohen Geschwindigkeit zu transportieren. Tsunamis stellen gerade für küstennahe Gebiete eine große Gefahr dar, da sie potenziell in der Lage sind gesamte Landstriche unter Wasser zu setzen und zu zerstören.
Ausgelöst werden Tsunamis in der Regel von Seebeben. Dabei müssen diese mit einer gewissen Stärke (~> 7.5) und einer geringen Tiefe auftreten. Wenn die Beben zu tief sind, haben sie nicht genug Kraft die Wassermassen über ihnen zu einer Welle aufzutürmen.
data %>%
ggplot(aes(y = mag, x = depth))+
geom_point(colour = "#2c7fb8") +
geom_point(data = data %>%
filter(mag > 7.5) %>%
filter(depth < 200),
pch=21,
size=4,
colour="red") +
geom_point(data = data %>%
mutate(monthyear = format(data$time, "%m-%Y")) %>%
filter(monthyear == "03-2011"),
colour="#edf8b1") +
xlab("Tiefe") +
ylab("Stärke")
Diese Grafik setzt sich aus einem ggplot mit drei Schichten zusammen. Einerseits wurde eine blaue Punktwolke (geom_point) hinzugefügt, welche nur in ihrer Farbe angepasst wurde. Des Weiteren wurden die Daten nach dem 11. März gefiltert und in einer gelben Punktwolke dargestellt. Die roten Punkte kennzeichnen besonders starke und tiefe Erdbeben. Dafür wurden die Punkte so angepasst, dass sie größere Kreise um bereits vorhandene Punkte ziehen. Die Farben stammen von der ColorBrewer Website.
Betrachtet man nun die Erdbeben während des Betrachtungszeitraums des Datensatzes, befinden sich die Erdbeben, die potenziell in der Lage wären, einen Tsunami auszulösen, im linken oberen Bereich der Darstellung (rot umkreist). Die gelb eingefärbten Beben haben alle an einem einzelnen Tag stattgefunden. Dabei fällt auf, dass sich drei der sechs Tsunamikandidaten am gleichen Tag zugetragen haben, dem 11. März 2011.
“Bei dem 11. März 2011 hat es sich um eine Ausnahme gehandelt, die nicht vorhersehbar war”. Um diese These zu bewerten, ist es sinnvoll sich zu Beginn die Menge an Erdbeben im Aufzeichnungszeitraum des Datensatzes zu betrachten.
data %>%
mutate(monthyear = format(data$time, "%m-%Y")) %>%
group_by(monthyear) %>%
count(monthyear) %>%
mutate(monat = strtrim(monthyear, 2)) %>%
mutate(jahr = substring(monthyear, 4,7)) %>%
ggplot(aes(y = monat, x = jahr, fill = n)) +
geom_tile() +
geom_text(aes(label=n)) +
scale_fill_gradientn(colors = hcl.colors(20, "RdYlGn", rev = TRUE), ) +
xlab("Jahr") +
ylab("Monat") +
labs(fill = "Anzahl Beben") +
theme_minimal()
Für diese Grafik musste zuerst eine neue Spalte eingefügt werden, nach welcher anschließend die Erdbeben gezählt wurden. Anschließend wurden Monat und Jahr aus der gesammelten Spalte erstellt, und als Achsen für die geom_tile Darstellung verwendet. Die Abbildung wurde anschließend mit einer Farbpalette und den jeweiligen Beschriftungen erweitert.
Schnell wird klar, dass es sich bei dem März 2011 um eine Ausnahme handelt. Weiterhin fällt auf, dass es keinen ersichtlichen Trend gibt, der die hohe Anzahl an Erdbeben in dem Monat hätte ankündigen können. Diese Einschätzung bestätigt sich weiter, wenn man sich die Menge der Erdbeben pro Tag in diesem Monat anschaut.
data %>%
mutate(year = format(data$time, "%Y")) %>%
mutate(date = format(data$time, "%d-%m-%Y")) %>%
filter(year == "2011") %>%
group_by(date) %>%
count(date) %>%
mutate(day = substr(date, 0, 2)) %>%
mutate(month = substr(date, 4, 5)) %>%
ggplot(aes(x = month, y = day, fill = n)) +
geom_tile() +
geom_text(aes(label=n)) +
scale_fill_gradientn(colors = hcl.colors(20, "RdYlGn", rev = TRUE), ) +
labs(fill = "Anzahl Beben") +
theme_minimal() +
xlab("Monat") +
ylab("Tag")
Diese Grafik wurde im Prinzip wie die davorige erzeugt, nur dass zusätzlich nach einem Jahr gefiltert wurde, und Tag und Monat als Achsen-Parameter verwendet wurden.
Hierbei zeigt sich genau wie oben, dass die Anzahl der Erdbeben ohne Ankündigung schlagartig steigt. Einen möglichen Grund dafür wird erkennbar, wenn man sich den Verlauf über den 11. März genauer betrachtet.
data %>%
mutate(date = format(time, "%d-%m-%Y")) %>%
mutate(uhrzeit = format(time, "%H")) %>%
mutate(stunde = substr(uhrzeit, 0, 2)) %>%
filter(date == "11-03-2011") %>%
group_by(stunde) %>%
summarise(mag = max(mag), magError = max(magError)) %>%
left_join(data %>%
mutate(uhrzeit = format(time, "%H")) %>%
mutate(stunde = substr(uhrzeit, 0, 2)) %>%
group_by(stunde) %>%
count(stunde) %>%
filter(as.integer(stunde) >= 4 && as.integer(stunde) <=23)) %>%
rename(Anzahl = n) %>%
ggplot(aes(x=stunde,y=mag)) +
geom_point(aes(fill = Anzahl, size = Anzahl), shape=21, color="black") +
scale_fill_gradientn(colors = hcl.colors(20, "RdYlGn", rev = TRUE), ) +
guides(
size = "none") +
scale_size(range = c(0,10)) +
geom_line(aes(group = 1), color="darkgrey") +
xlab("Stunde") +
ylab("Stärke")
Für diese Grafik wurden zuerst neue Spalten eingefügt, um die einzelnen Stunden zu bekommen, anschließend wurde nach einem einzelnen Tag gefiltert. Die Maximalwerte wurden nach den einzelnen Stunden ermittelt und mit einer anderen Tabelle zusammengeführt, welche die Anzahl an Erdbeben pro Stunde zählt. Die Daten werden von einem Ggplot mit einem geom_point und einer geom_line dargestellt. Dabei ist es wichtig, bei geom_line die Einstellung “group = 1” zu setzen, da sonst die Punkte, welche auf einem einzelnen Wert basieren, nicht angezeigt werden.
Hier wird ersichtlich, dass fast alle Erdbeben als Nachbeben nach dem stärksten Beben auftreten.
data %>%
mutate(day = format(data$time, "%Y-%m-%d")) %>%
filter(day == "2011-03-11") %>%
subset(select=c(time, mag)) %>%
dygraph(xlab= "Stunde", ylab= "Stärke") %>%
dyOptions(labelsUTC = TRUE, fillGraph=TRUE, fillAlpha=0.1, drawGrid = FALSE, colors="#2c7fb8") %>%
dyHighlight(highlightCircleSize = 5)
Der Datensatz wurde nach dem Unglückstag gefiltert. Danach wurde aus einem subset, das die Werte von time und mag beinhaltet, ein DyGraph erstellt. Der DyGraph wurde noch farblich angepasst, sowie die Achsenbeschriftung hinzugefügt.
Warum das Atomkraftwerk Fukushima Daiichi so schwer getroffen wurde, dass es schlussendlich zum Atom-Unglück kam, wird ersichtlich, wenn man sich die Erdbeben im Gebiet um das Kraftwerk anschaut.
foku_daiichi <- plants %>%
filter(Location == "Ökuma")
data_foku <- data %>%
mutate(day = format(data$time, "%Y-%m-%d")) %>%
mutate(hour = format(data$time, "%H")) %>%
filter(longitude >= foku_daiichi$longitude-3.5) %>%
filter(longitude <= foku_daiichi$longitude+3.5) %>%
filter(latitude >= foku_daiichi$latitude-3.5/2) %>%
filter(latitude <= foku_daiichi$latitude+3.5/2) %>%
filter(day == "2011-03-11") %>%
mutate(date = as.numeric(hour))
shared_data <- SharedData$new(data_foku)
magnitude <- shared_data$data(withSelection = FALSE, withFilter = TRUE, withKey = FALSE)$mag
pal <- colorNumeric(
palette = "YlOrRd",
domain = magnitude,
reverse = FALSE
)
filter_slider("hour", "Hour", shared_data, ~date, dragRange= TRUE, min= 0, max= 23, width= "100%")
leaflet(shared_data, options = leafletOptions(zoomControl = FALSE, minZoom = 7, maxZoom = 7, dragging = FALSE)) %>%
addProviderTiles(providers$Esri.NatGeoWorldMap) %>%
leaflet::addCircleMarkers(label = magnitude, color = pal(magnitude)) %>%
addLegend("topleft", values = magnitude, pal=pal, title = "Stärke") %>%
addPulseMarkers(lng = foku_daiichi$longitude, lat = foku_daiichi$latitude, label = "Fukushima daiichi")
Die beiden Datensätze wurden vorgefiltert und dann der Datensatz der Erdbeben in ein sharedData-Objekt (library: crosstalk) übergeben. Auf dieses Objekt können sowohl der filter_slider (library: crosstalk) als auch die Leaflet (library: leaflet) zugreifen und somit miteinander kommunizieren. Dem filter_slider wird gesagt, dass er den Wert hour aus dem sharedData-Objek beeinflussen soll. Die Leaflet erhält einen festen Zoomwert, sodass immer ein festgeleter Ausschnitt zu sehen ist. Es wird der gleiche Provider wie bei den oberen Leaflet’s zugewiesen und CircleMarkers hinzugefügt, die die Standorte der Erdbeben anzeigen. Ihre Farbe steht für die Stärke des Erbebens, die man über die hinzugefügte Legende ablesen kann. Dann wurde noch ein PulseMarker hinzugefügt, der den Standort des Atomkraftwerks Fukushima Daiichi anzeigt.
Sofort fällt auf, dass das auslösende Erdbeben relativ nah an dem Atomkraftwerk stattgefunden hat. Auch die darauffolgenden Nachbeben finden großteils im Einflussbereich der Kraftwerke statt.
Japan ist an sich schon ein sehr Erdbeben gefährdetes Land, es finden fast täglich Beben statt. Die meisten davon sind zwar Seebeben und auch nicht stark, der Fall Fukushima Daiichi zeigt allerdings, dass es nur ein plötzlich auftretendes Beben benötigt um eine Katastrophe auszulösen. Auch zeigt dieser Fall, dass es sehr schwer bis unmöglich ist, ein solches Ereignis vorauszusagen. Es kann aus dem Nichts kommen und noch lange Nachbeben hinter sich ziehen, was notwendige Rettungsaktionen erschwert.
data %>%
mutate(year = format(data$time, "%Y")) %>%
group_by(year) %>%
summarise(mean= mean(mag)) %>%
ggplot() +
geom_line(aes(x= year, y= mean), group= 1, color= "red") +
xlab("Jahr") +
ylab("Mittelwert")
Die Grafik veranschaulicht, dass die durchschnittlichen Erdbebenstärken über die Jahre nicht wesentlich (zwischen 4.72 und 4.88) schwanken. Selbst in einem Jahr wie 2011, in dem das viertstärkste der weltweit jemals gemessenen Erbeben (mit der Stärke 9.1) und ingesamt rund 3811 Beben stattfanden, liegt die durchschnittliche Erdbebenstärke gerade mal bei 4.834873. Das zeigt uns, dass besonders starke Beben in der Masse untergehen und somit nicht vorhersehbar sind.
Aufgrund dieser Unvorhersehbarkeit hätten unserer Meinung nach in einem so gefährdeten Gebiet keine Atomkraftwerke gebaut werden sollen. Die Wahrscheinlickeit eines so starken Erbebens mit der Folge eines Tsunamis ist zwar schwindend gering, jedoch nicht null. Der Fall Fukushima Daiichi hat gezeigt, dass auch geringe Wahrscheinlichkeiten verheerende globale Folgen mit sich ziehen können, und somit niemals unterschätzt werden sollten.
Datensatz: https://www.kaggle.com/datasets/aerodinamicc/earthquakes-in-japan
Vorlagen für Grafiken: https://r-graph-gallery.com/index.html
Informationen über Tsunamis: https://www.ardalpha.de/wissen/natur/naturgewalten/tsunami-tsunamis-erdbeben-beben-welle-kueste-plattentektonik-indischer-ozean-japan-100.html#:~:text=Ab%20einer%20Magnitude%20%C3%BCber%207,gro%C3%9Fe%20Erdmassen%20ins%20Wasser%20st%C3%BCrzen.
Rangliste der stärksten Erbeben: [https://www.ingenieur.de/technik/fachbereiche/rekorde/die-10-staerksten-erdbeben-der-welt-seit](https://www.ingenieur.de/technik/fachbereiche/rekorde/die-10-staerksten-erdbeben-der-welt-seit-1900/#:~:text=Platz%201%3A%20Chile%2C%201960%20(,Gebiete%20im%20S%C3%BCden%20Chiles%20ver%C3%A4nderten.) [1900/#:~:text=Platz%201%3A%20Chile%2C%201960%20(,Gebiete%20im%20S%C3%BCden%20Chiles%20ver%C3%A4nderten.](https://www.ingenieur.de/technik/fachbereiche/rekorde/die-10-staerksten-erdbeben-der-welt-seit-1900/#:~:text=Platz%201%3A%20Chile%2C%201960%20(,Gebiete%20im%20S%C3%BCden%20Chiles%20ver%C3%A4nderten.)
Dokumentation Tidyverse: https://dplyr.tidyverse.org/reference/